package com.kuyun.base.mapper;

import java.util.List;
import java.util.Map;

import com.kuyun.base.model.BasePrivilege;
import com.kuyun.base.model.ZtreeBean;
import com.kuyun.base.service.BasePrivilegeService;

/**
 * 基础用户操作接口
 * 
 * @author 唐靖
 *
 * @date 2016年6月16日下午9:17:49
 *
 */
public interface BasePrivilegeMapper {

	/**
	 * 获取权限列表树
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月18日下午9:14:26
	 *
	 * @return
	 */
	List<ZtreeBean> getPrivilegeTree();

	/**
	 * 新增权限数据
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月19日下午1:48:10
	 *
	 * @param basePrivilege
	 */
	void createPrivilege(BasePrivilege basePrivilege);

	/**
	 * 根据ID查询需要的权限（简单查询，不包括关联的对象）
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月24日下午11:20:49
	 *
	 * @param parentId
	 * @return
	 */
	BasePrivilege findSimplePrivilegeById(String parentId);

	/**
	 * 验证权限名称
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月25日下午6:47:09
	 *
	 * @param base
	 * @return
	 */
	int checkName(BasePrivilege base);

	/**
	 * 验证权限编码
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月25日下午7:22:56
	 *
	 * @param base
	 * @return
	 */
	int checkCode(BasePrivilege base);

	/**
	 * 更新权限
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月25日下午8:59:13
	 *
	 * @param basePrivilege
	 */
	void updatePrivilege(BasePrivilege basePrivilege);

	/**
	 * 获取所有的菜单权限
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年6月25日下午9:35:13
	 *
	 * @return
	 */
	List<BasePrivilegeService> loadAllMenuPri();

	/**
	 * 分页查询权限信息
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年7月3日下午10:56:15
	 *
	 * @param par
	 * @return
	 */
	List<BasePrivilege> findPrivilegeByParentId(Map<String, Object> par);

	/**
	 * 查询权限数量
	 * 
	 * @author 唐靖
	 *
	 * @date 2016年7月3日下午11:00:09
	 *
	 * @param par
	 * @return
	 */
	int findPrivilegeCountByParentId(Map<String, Object> par);

}
